package com.wyfan.scaffold.controller;

import com.wyfan.scaffold.common.Result;
import com.wyfan.scaffold.common.nacos.NacosConfig;
import com.wyfan.scaffold.feign.FeignDemo;
import org.springframework.web.bind.annotation.*;


@RestController
public class DemoController {

//    private final FeignDemo feignDemo;
//
//    public DemoController(FeignDemo feignDemo) {
//        this.feignDemo = feignDemo;
//    }

    @GetMapping(value = "/api")
    public String api(String param) {
        // 系统异常拦截
//        int a = 0;
//        int b = 0;
//        int c = a/b;

        // 自定义异常拦截
//        throw new UserException(ApiResult.error(ResultType.NO_PERMISSION));

        return param+"-"+ NacosConfig.getInstance().getTest();
    }


    /**
     * API标准化输出
     */
    @GetMapping(value = "/json")
    public Result<Object> json() {
//        return ApiResult.error();
//        return ApiResult.error("错误");
//        return ApiResult.error(ResultType.NO_DATA);
        return Result.success();
    }


//    /**
//     * 远程熔断调用
//     */
//    @GetMapping(value = "/test_feign")
//    public String testFeign(String param) {
//        return feignDemo.api(param);
//    }

}
